指标报警配置最佳实践

通过指标报警,您可以设置多维度的监控指标和Tags,帮助您快速定位Elasticsearch的性能问题,提高运维排查效率。本文以配置集群shard数监控报警、节点个数监控报警和查询队列监控报警为例,为您介绍如何将指标报警配置应用到具体的业务中。

集群shard数监控报警

Elasticsearch 7.x版本开始对单机分片数进行了限制,默认单机分片数不能超过1000。高级监控报警提供的集群分片数监控报警能力,可以对单实例分片总数进行报警。您可以参见评估Shard规划单机分片数,当单机分片总数达到阈值建议优化索引。

  1. 登录阿里云Elasticsearch控制台
  2. 在左侧导航栏,单击高级监控报警

  3. 在左侧导航栏的报警模块,定义集群shard数监控报警规则及报警联系人,请参见管理报警组配置报警规则管理报警联系人

    本文以2核4 GB,3个数据节点的集群为例。按照shard评估,建议单节点的shard数在120~200之间,三个节点的总shard数在360~600之间。当集群shard数大于600时进行WARNING报警,超过900时进行CRITICAL报警。对应的报警规则配置如下。集群shard数监控报警

    规则配置的详细参数说明,请参见配置报警规则。本示例的部分参数配置如下。

    参数

    配置

    指标

    选择aliyunes.elasticsearch.cluster.stats.indices.shards.count

    tags

    instanceId设置为待监控的实例ID。

    触发条件

    选择阈值报警。设置集群shard数>600进行WARNING报警,>900进行CRITICAL报警。

  4. 验证结果。

    报警配置成功后,当集群shard数超过设定阈值时,您指定的报警通知人就可以通过钉钉群接收到报警通知,详细信息请参见通过钉钉群接收报警通知集群shard数监控报警通知

节点个数监控报警

节点脱离集群后不易被发现,脱离时间太久节点会自动从集群隔离。为解决此问题,您可以配置高级监控报警,对集群中的节点个数进行监控。

高级监控报警页面的指标报警模块,参见管理报警组配置报警规则管理报警联系人,定义集群节点个数监控报警规则及报警联系人。本示例的报警规则配置如下。节点个数监控报警规则

规则配置的详细参数说明,请参见配置报警规则。本示例的部分参数配置如下。

参数

配置

指标

选择aliyunes.elasticsearch.cluster.stats.nodes.count

tags

instanceId设置为待监控的实例ID。

触发条件

选择阈值报警。设置集群节点个数<6进行WARNING报警,<2进行CRITICAL报警。

报警配置成功后,当集群中的节点个数小于设定阈值时,您指定的报警通知人就可以通过钉钉群接收到报警通知,详细信息请参见通过钉钉群接收报警通知

查询队列监控报警

Elasticsearch的查询队列大小默认为1000,当队列堆积严重时,新的请求将被中止。您可以通过阿里云Elasticsearch的高级监控报警功能,对数据节点查询队列的等待任务数进行监控报警。

高级监控报警页面的指标报警模块,参见管理报警组配置报警规则管理报警联系人,定义数据节点查询队列等待任务数监控报警规则及报警联系人。本示例的报警规则配置如下。查询队列监控报警规则

规则配置的详细参数说明,请参见配置报警规则。本示例的部分参数配置如下。

参数

配置

指标

选择aliyunes.elasticsearch.node.stats.thread_pool.search.queue

tags

  • host_ip:设置为*

  • instanceId:设置为待监控的实例ID。

触发条件

选择阈值报警。设置数据节点查询队列等待任务数>500进行WARNING报警,>900进行CRITICAL报警。

报警配置成功后,当数据节点查询队列等待任务数大于设定阈值时,报警通知人就可以通过钉钉群接收到报警通知,详细信息请参见通过钉钉群接收报警通知